UML-B: A Plug-in for the Event-B Tool Set
نویسندگان
چکیده
UML-B provides a graphical front end for Event-B. It adds support for class-oriented and state machine modelling. UML-B is similar to UML but has its own meta-model. UML-B provides tool support, including drawing tools and a translator to generate Event-B models. The tools are closely integrated with the Event-B tools. When a drawing is saved the translator automatically generates the corresponding Event-B model. The Event-B verification tools (syntax checker and prover) then run automatically providing an immediate display of problems which are indicated on the relevant UML-B diagram. We introduce the UML-B notation, tool support and integration with Event-B. UML-B is a graphical formal modelling notation based on UML [1]. It relies on Event-B [2] for its underlying semantics and is closely integrated with the Event-B verification tools [3]. UML-B and Event-B are implemented within the Eclipse [4] environment. This paper gives a brief introduction to UML-B. A more detailed description is provided in [5]. The UML-B modelling environment consists of a UML-B project containing a UML-B model. A builder is associated with the project and runs whenever the model is saved. Four interlinked diagram types (package, context, class and state machine) are provided. The top-level package diagram is opened with an empty canvas by the model creation wizard. This canvas represents the UML-B project. Package Diagrams are used to describe the relationships between top level components (machines and contexts) of a UML-B project. As in UML, package diagrams provide a structuring of the model, but also cater for the concept of refinement. The diagram shows the refines relationships between Machines, the extends relationships between Contexts and the sees relationships from machines to contexts. Other diagram types are linked and opened via model elements as they are drawn on the various canvases. UML-B mirrors the Event-B approach where static data (sets and constants) are modelled in a separate package called a ‘context’. The Context diagram defines the static (constant) part of a model. The context diagram is similar to a class diagram but has only constant data represented by ClassTypes, Attributes and Associations. Axioms (given properties about the constants) and Theorems (assertions requiring proof) may be attached to the ClassTypes. ClassTypes define ‘carrier’ sets or constant 1 This work was carried out under the EU projects, Rodin [IST-511599] and ICT project
منابع مشابه
A Tool for Building Database Applications Using UML and B Formal Method
UB2SQL is a tool for designing and developing database applications using UML and B formal method. The approach supported by UB2SQL consists of two successive phases. In the first phase, with the design of applications using class, state and collaboration diagrams, B specifications are automatically generated from UML diagrams; the diagrams are then augmented with these B specifications in plac...
متن کاملUB2SQL: A Tool for Building Database Applications Using UML and B Formal Method
UB2SQL is a tool for designing and developing database applications using UML and B formal method. The approach supported by UB2SQL consists of two successive phases. In the first phase, with the design of applications using class, state and collaboration diagrams, B specifications are automatically generated from UML diagrams; the diagrams are then augmented with these B specifications in plac...
متن کاملLanguage and Tool Support for Class and State Machine Refinement in UML-B
UML-B is a ’UML-like’ graphical front end for Event-B that provides support for object-oriented modelling concepts. In particular, UML-B supports class diagrams and state machines, concepts that are not explicitly supported in plain Event-B. In Event-B, refinement is used to relate system models at different abstraction levels. The same abstraction-refinement concepts can also be applied in UML...
متن کاملClass and State Machine Refinement in UML-B
UML-B is a ’UML-like’ graphical front end for Event-B. It adds support for object oriented modeling concepts while visually retaining the Event-B modeling concepts. In the continuity of the work on UML-B, we strengthen its refinement concepts. Development in Event-B is done through refinements of an abstract model. Since Event-B is reflected in UML-B, the abstraction-refinement concepts must al...
متن کاملA Graphical Tool for Event Refinement Structures in Event-B
The Event Refinement Structures (ERS) approach provides a graphical extension of the Event-B formal method to represent event decomposition and control-flow explicitly. In this paper we present an improved version of the ERS plug-in, which provides a graphical environment for the ERS approach within the Event-B tool, Rodin. The improved ERS plug-in is based on the available frameworks that are ...
متن کامل